home *** CD-ROM | disk | FTP | other *** search
/ Freelog 125 / Freelog_MarsAvril2015_No125.iso / ViePratique / ArchiFacile / ArchiFacileSetup.exe / {app} / nw.pak / Unnamed File 001035.txt < prev    next >
Text File  |  2014-10-14  |  2KB  |  33 lines

  1. var ports=[];var isTempStorageCleared=false;var tempStorageError;self.onconnect=function(event)
  2. {var newPort=(event.ports[0]);if(isTempStorageCleared){notifyTempStorageCleared(newPort);return;}
  3. newPort.onmessage=handleMessage;newPort.onerror=handleError;ports.push(newPort);if(ports.length===1)
  4. clearTempStorage();}
  5. function clearTempStorage()
  6. {function didFail(e)
  7. {tempStorageError="Failed to clear temp storage: "+e.message+" "+e.name;console.error(tempStorageError);didClearTempStorage();}
  8. function didGetFS(fs)
  9. {fs.root.createReader().readEntries(didReadEntries,didFail);}
  10. function didReadEntries(entries)
  11. {var remainingEntries=entries.length;if(!remainingEntries){didClearTempStorage();return;}
  12. function didDeleteEntry()
  13. {if(!--remainingEntries)
  14. didClearTempStorage();}
  15. function failedToDeleteEntry(e)
  16. {tempStorageError="Failed to delete entry: "+e.message+" "+e.name;console.error(tempStorageError);didDeleteEntry();}
  17. for(var i=0;i<entries.length;i++){var entry=entries[i];if(entry.isFile)
  18. entry.remove(didDeleteEntry,failedToDeleteEntry);else
  19. entry.removeRecursively(didDeleteEntry,failedToDeleteEntry);}}
  20. self.webkitRequestFileSystem(self.TEMPORARY,10,didGetFS,didFail);}
  21. function didClearTempStorage()
  22. {isTempStorageCleared=true;for(var i=0;i<ports.length;i++)
  23. notifyTempStorageCleared(ports[i]);ports=null;}
  24. function notifyTempStorageCleared(port)
  25. {port.postMessage({type:"tempStorageCleared",error:tempStorageError});}
  26. function handleMessage(event)
  27. {if(event.data.type==="disconnect")
  28. removePort(event.target);}
  29. function handleError(event)
  30. {console.error("Error: "+event.data);removePort(event.target);}
  31. function removePort(port)
  32. {if(!ports)
  33. return;var index=ports.indexOf(port);ports.splice(index,1);}